<?php
/**
 * Description of PessoaService
 *
 * @author Magno
 */
class PessoaService {


    private $pessoaDAO;
    function __construct() {
        $this->pessoaDAO = new PessoaDAO();
    }


    public function salvar($pessoa) {

        try {
            return $this->pessoaDAO->salvar($pessoa);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function excluir($usuarioID) {

        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Pessoa Nao Econtrado!!!");

            $this->pessoaDAO->excluir($usuarioID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function existe($usuarioID) {

        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Pessoa Nao Econtrado!!!");

            return $this->pessoaDAO->existe($usuarioID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function listar($pagina = 0,$nome = "", $cpf = "", $carregarDependencias = false) {
        try {
            return $this->pessoaDAO->listar($pagina, $nome, $cpf, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function buscarPorID($usuarioID, $carregarDependencias = false) {
        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Pessoa Nao Econtrado!!!");
            return $this->pessoaDAO->buscarPorID($usuarioID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function exitePorCpf($cpf){
        if($this->total("",$cpf) > 0) return true;
        return false;
    }

    public function total($nome = "", $cpf = "") {
        try {
            return $this->pessoaDAO->total($nome, $cpf);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }
}
?>
